Создание системы тестирования на PHP 2015 Премиум курс по созданию системы тестирования на PHP начат по заявкам и вопросам наших подписчиков. В многочисленных вопросах неоднократно звучала в том или ином виде просьба записать курс, показывающий, как создать современную систему тестирования на PHP для сайта. В курсе по созданию системы тестирования на PHP мы создадим несложную, но вместе с тем функциональную систему тестирования, которая будет в первую очередь выполнять свою прямую задачу – оценка прохождения теста тестируемым. В ходе прохождения курса по созданию системы тестирования на PHP Вы познакомитесь со многими сопутствующими вопросами, с которыми неоднократно столкнетесь при создании практически любого сайта: работа с AJAX, создание пагинации (постраничной навигации), создание вкладок (табов), работа с БД (базой данных) и многими другими. Видеокурс по созданию системы автоматизированного онлайн тестирования с помощью PHP и MySQL. Урок 1. Выводим варианты тестов: От автора: В цикле из нескольких уроков мы с вами будем создавать несложную, но вместе с тем функциональную систему тестирования, которая должна в первую очередь выполнять свою прямую задачу – оценка прохождения теста тестируемым. Урок 2. Получение данных выбранного теста: От автора: В предыдущем уроке мы вывели на страницу список всех доступных тестов. Задачей текущего урока будет получение массива вопросов и ответов выбранного пользователем теста. При этом мы будем получать все вопросы и ответы к ним выбранного теста. На мой взгляд, это снизит нагрузку на сервер, по сравнению с вариантом, когда у сервера запрашиваются вопросы по одному. Урок 3. Вывод выбранного теста: От автора: В предыдущем уроке мы реализовали функционал получения данных теста, в которые входит вопрос и варианты ответов. Также мы добавили проверки на тот случай, если создание теста еще не закончено или же пользователь запросил тест, которого у нас нет. Задачей текущего урока будет вывод данных из массива на экран в приемлемом для теста виде. Урок 4. Пагинация для вопросов: От автора: В предыдущем уроке мы работали с полученным ранее массивом данных, которые включают в себя все вопросы выбранного теста и варианты ответов к ним. Завершили урок мы выводом на экран всех вопросов и ответов теста. В этом уроке перед нами будет стоять несколько задач, которые связаны преимущественно с оформлением, а именно: мы реализуем вывод на экран только первого вопроса и вариантов ответа к нему, скрыв прочие, а также реализуем вывод кнопок, показывающих номера вопросов выбранного теста. Задачей текущего урока будет вывод данных из массива на экран в приемлемом для теста виде. Урок 5. Переход между вопросами: От автора: Итак, у нас есть пагинация в виде номеров вопросов и по задумке пользователь может переключаться между вопросами и переходить к любому вопросу, представленному в пагинации. Однако пока что переключение между вопросами не работает и задачей текущего урока будет как раз доработка пагинации вопросов. Урок 6. Отправляем ответы на сервер: От автора: В предыдущем уроке была реализована система переключения между вопросами, благодаря которой пользователь может перейти к любому вопросу. В этом уроке мы решим задачу отправки данных на сервер. Пользователь в любой момент может закончить тестирование, кликнув по соответствующей кнопке, и в этот момент мы должны собрать все его ответы и отправить их на сервер. Отправку данных реализуем асинхронную, т.е. с использованием AJAX. Урок 7. Ограничиваем доступ к тестам: От автора: В этом уроке мы внесем некоторые правки в структуру базы данных, а также в модель (запросы к базе данных) системы тестирования. Сделаем мы это, прежде всего, с той целью, чтобы в дальнейшем обойтись без массы дополнительных проверок при получении результатов тестирования. Урок 8. Получение правильных ответов: От автора: Итак, мы с вами подошли уже к проблеме получения результатов тестирования. На будущее нашими задачами будут: показ пользователю всего теста с отметками его ответов и правильных ответов, визуальное выделение верных и неверных ответов, формирование статистики по результатам тестирования с указанием процента верных ответов и т.д. Задачей же текущего урока будет получение массива верных ответов с тем, чтобы в дальнейшем мы могли сравнивать 2 имеющихся массива: массив ответов пользователя и массив верных ответов. Урок 9. Формирование результатов тестирования: От автора: Итак, на данный момент мы имеем три массива: массив с ответами пользователя, массив правильных ответов и массив со всеми вопросами и ответами текущего теста. Теперь давайте из этих данных получим единый массив, в котором будет находиться вся эта информация, т.е. вопросы/ответы теста, правильный ответ на каждый из вопросов и информация об ответах пользователя. Урок 10. Вывод результатов тестирования. Часть 1: От автора: В этом уроке мы приступим к написанию, пожалуй, последней функции пользовательской части тестирования. Данная функция будет отвечать за печать результатов тестирования. Это будет наиболее объемная функция. Она будет не только выводить сам тест с подсветкой результатов, но и считать статистику тестирования: кол-во верных и неверных ответов, результат тестирования в процентах. Именно этими подсчетами мы и займемся в данном уроке. Урок 11. Вывод результатов тестирования. Часть 2: От автора: В этом уроке мы завершим написание последней функции пользовательской части тестирования, которая отвечает за печать результатов тестирования. В ходе написания функции мы сгенерируем ряд css-классов, которые будем использовать уже в следующем уроке для оформления вывода результатов тестирования. Урок 12. Оформление результатов: От автора: Этот урок будет, пожалуй, последним из запланированных уроков по созданию пользовательской части системы тестирования. В этом уроке нам осталось лишь добавить стили в файл CSS для необходимого оформления вывода результатов тестирования.